<?php
// +----------------------------------------------------------------------
// | 幕小铺
// +----------------------------------------------------------------------
// | 版权所有 2016~2020 幕小铺科技（大连）有限公司
// +----------------------------------------------------------------------
// | 2020/03/14
// +----------------------------------------------------------------------

namespace app\erp\home;
use app\common\controller\AuthCheck;

/**
 * 门店→仓库关联管理
 * @package app\cms\admin
 */
class StoreWarehouse extends AuthCheck{
    /**
     * 首页
     * @author dou<51779987@qq.com>
     * @return json_out(code, message, data)
     */
    public function index(){
        //参数接收
        $params 		= $this->getParams(0);//0 get 1 post
        $user_id    	= intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $store_id    	= intval(isset($params["store_id"]) ? $params["store_id"] : 0);//门店id

        //数据验证
        $Validate = validate('StoreWarehouse', 'validate');
        if( !$Validate -> scene('warehouse_index') -> check($params) ){
            json_out(-1001, $Validate -> getError(), []);//验证失败
        }

        //逻辑处理
        $list = controller('StoreWarehouselogic', 'logic') -> index($user_id,$store_id);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], $list['message'], $list['data']);
        }else{
            json_out($list['code'], $list['message'], []);
        }
    }

    /**
     * 添加
     * @param store_id 	                string  门店id
     * @param warehouse_id 		        string  仓库id
     * @author dou<51779987@qq.com>
     * @return json_out(code, message, (int)id)
     */
    public function add(){
        //参数接收
        $params 		= $this->getParams(1);//0 get 1 post
        $user_id    	= intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $store_id    	= intval(isset($params["store_id"]) ? $params["store_id"] : 0);
        $warehouse_id   = intval(isset($params["warehouse_id_zf"]) ? $params["warehouse_id_zf"] : 0);
        //数据验证
        $Validate = validate('StoreWarehouse', 'validate');
        if( !$Validate -> scene('warehouse_add') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }

        //逻辑处理
        $list = controller('StoreWarehouselogic', 'logic') -> add($user_id, $store_id, $warehouse_id);
        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '新增成功');
        }else{
            json_out($list['code'], $list['message']);
        }
    }

    /**
     * 删除
     * @param int $id
     * @author dou<51779987@qq.com>
     * @return bool
     */
    public function delete(){
        //参数接收
        $params 		= $this->getParams(1);//0 get 1 post
        $user_id    	= intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $id = $params["id"] = intval(isset($params["sid"]) ? $params["sid"] : 0);

        //数据验证
        $Validate = validate('StoreWarehouse', 'validate');
        if( !$Validate -> scene('warehouse_delete') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }

        //逻辑处理
        $list = controller('StoreWarehouselogic', 'logic') -> delete($user_id, $id);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '删除成功');
        }else{
            json_out($list['code'], $list['message']);
        }
    }

    /**
     * 查找仓库&排除已选择的仓库
     */
    public function getStoreWarehouse()
    {
        //参数接收
        $params 		= $this->getParams(0);//0 get 1 post
        $user_id    	= intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $ty    	        = intval(isset($params["ty"]) ? $params["ty"] : 0);//仓库类别
        $store_id    	= intval(isset($params["store_id"]) ? $params["store_id"] : 0);//门店id

        //逻辑处理
        $list = get_warehouse_type($ty,$store_id);
        //数据返回
        if(isset($list)){
            json_out(200, 'success', $list);
        }else{
            json_out(-1001, 'error', []);
        }
    }

}